How to jump to a location in Emacs
本文的目的是介绍在 Emacs 中如何快速跳转到某个位置。
1. 屏幕内跳转
1.1. 屏幕范围内任意位置跳转
我使用 ace-pinyin-jump-char-2
命令,它的用法是提供两个字母或拼音首字母,它会标记出屏幕范围内对应的位置,如果仅有一个可能就跳转至该位置,如果多于一个,则给出提示,再通过按提示的字母进行精确跳转。
需要用到的包有 ace-pinyin
, avy
, pinyinlib
,其中 pinyinlib
提供了对于中文拼音的支持。
1.2. 跳转到成对符号另一端
当光标处于成对的符号的一端时,可以通过 exchange-point-and-mark
命令,这个是 Emacs 内置的函数,默认的键是 C-x C-x
。
2. 文件内跳转
2.1. 向前搜索和向后搜索
默认的向后搜索是 C-s
,向前搜索是 C-r
。这两个命令会跳转到指定的搜索内容上。
也可以使用 consult-line
跳转到某一行上面。
3. 跨文件搜索
跨文件的搜索我使用 rg.el
插件,默认的按键是 C-c s
,调用 rg-menu
。我通常使用 regexp
这个选项。
4. 检索某个文件
这个可以通过 consult-find
查找某个文件夹中存在的文件。我通常使用该命令查找 org attachment 文件。通过 C-u
前缀,可以指定需要查找的文件夹。
5. 书签位置跳转
这个是 Emacs 自带的功能,通过 C-x r m
调用 bookmark-set
函数,将文件夹设置为 bookmark。
设置成功之后,就可以使用 C-x r j
跳转到文件夹当中。
除书签功能之处,也可以使用 register 功能跳转到某个文件。
6. 笔记内容的检索
我使用 denote 管理自己的笔记文件, denote 的文件命令具有一个强大的格式,可以通过时间,笔记名, tag 进行检索或排序。